using System;
using Sinacor.Infra.Common;
using System.Collections.Generic;
using Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Request;
using Sinacor.Servico.Bovespa.Corretagem.BusinessEntity;

namespace Sinacor.Servico.Bovespa.Corretagem.Service.ServiceImplementation.Translator
{
    /// <summary>
    /// Classe tradutora entre objetos Verificacao e Verificacao
    /// </summary>
    public class VerificacaoToVerificacao : BaseTranslator<Sinacor.Servico.Bovespa.Corretagem.BusinessEntity.Verificacao, Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Request.VerificacaoRequest, List<Sinacor.Servico.Bovespa.Corretagem.BusinessEntity.Verificacao>, List<Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Request.VerificacaoRequest>>
    {
        public override Sinacor.Servico.Bovespa.Corretagem.BusinessEntity.Verificacao Translate(Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Request.VerificacaoRequest from)
        {
            Sinacor.Servico.Bovespa.Corretagem.BusinessEntity.Verificacao to = new Sinacor.Servico.Bovespa.Corretagem.BusinessEntity.Verificacao();
            to.Agente = from.Agente;
            to.Assessor = from.Assessor;
            to.Carteira = from.Carteira;
            to.Ativo = from.Ativo;
            to.CodigoPoliticaCorretagem = from.CodigoPoliticaCorretagem;
            to.CodigoTabelaBeneficio = from.CodigoTabelaBeneficio;
            to.CodigoTabelaPadrao = from.CodigoTabelaPadrao;
            to.DataInicial = from.DataInicial;
            to.Operador = from.Operador;
            to.TipoMercado = Sinacor.Infra.Service.Common.EnumConverter.Parse<BusinessEntity.Enum.TipoMercado?>(Sinacor.Infra.Service.Common.EnumConverter.ToString<DataContract.Enum.TipoMercado?>(from.TipoMercado));
            to.TipoNaturezaOperacao = Sinacor.Infra.Service.Common.EnumConverter.Parse<BusinessEntity.Enum.TipoNaturezaOperacao?>(Sinacor.Infra.Service.Common.EnumConverter.ToString<DataContract.Enum.TipoNaturezaOperacao?>(from.TipoNaturezaOperacao));
            return to;
        }



    }
}

